import {deepCopy} from "@/utils";

export default {
  name: 'StorageVolumeRangeMixin',
  data(){
    return {
      defaultVolumeRangeItem: {
        volumeName: '',
        volume: 0,
        price: 0,
      },
    }
  },
  methods:{
    // 添加调货费用
    addVolumeRange(arr){
      arr.push(deepCopy(this.defaultVolumeRangeItem))
    },
    // 移除某个重量范围
    removeRange(arr, index){
      arr.splice(index,1)
    },
    checkRange(arr){
      if(arr.length === 0){
        this.$errorMessage('仓储单价请至少添加一个单价')
        return false;
      }
      const volume = [];
      const volumeName = [];
      const flag = arr.some(item=>{
        // 没填的数值默认为0
        item.volume = item.volume ? item.volume : 0;
        item.price = item.price ? item.price : 0;
        item.volumeName = item.volumeName ? item.volumeName : '';
        if(volume.indexOf(item.volume) !== -1){
          this.$errorMessage('仓储单价存在相同的阶梯')
          return true
        }
        if(item.volumeName === ''){
          this.$errorMessage('仓储单价前台显示名称不能为空')
          return true
        }
        if(volumeName.indexOf(item.volumeName) !== -1){
          this.$errorMessage('仓储单价前台显示名称存在相同的名称')
          return true
        }
        volume.push(item.weight)
        volumeName.push(item.weightName)
        return false
      })
      // 校验没通过代表有相同的重量
      if(flag){
        return false;
      }
      return true
    },
  }
}
